МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра САПР
Звіт про виконання лабораторної роботи №2
на тему: “Способи адресації операндів і команди пересилання даних однокристального МП КР580 ”
з курсу: “ Комп’ютери та мікропроцесорні системи ”
Виконав
студент групи КН-3
Львів - 2006
1. МЕТА РОБОТИ
Вивчити способи адресації операндів і команди пересилання даних в однокристальному мікропроцесорі (МП) КР580, набути практичні навики складання і налагодження програм з використанням цих команд.
2. КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
2.1. Способи адресації в МП КР580
Пам'ять МП КР580 має байтову структуру - можлива адресація в пам'яті будь-якого байта. Ширина вибору з пам'яті - 1 байт. При звертанні до пам'яті використовуються 16-розрядні (двобайтові) адреси. Адресний простір МП КР580 становить 64 Кбайти. Нумерація бітів акумулятора, регістрів і байта пам'яті показана на рис.1.
D7 D6 D5 D4 D3 D2 D1 D0
Рис.1
Система команд МП КР580 містить 244 команди. Команди складаються з одного, двох або трьох байтів і знаходяться в пам'яті (оперативній або постійній). Багатобайтові команди зберігаються в сусідніх комірках пам'яті.
В однобайтових командах байт використовується для задання коду виконуваної операції. Однобайтові команди - це команди обміну з пам'яттю, арифметичні, логічні, зсувів, операції зі стеком, керування системою переривань.
Двобайтові команди - це команди з безпосереднім операндом або команди вводу/виводу. Перший байт команди містить код виконуваної операції, а другий - або безпосередній операнд, або операнд адреси порту вводу/виводу.
Трибайтові команди містять у першому байті код виконуваної операції, а в другому - або адреси пам'яті, або два байти безпосередніх даних.
До команд, які використовують цей формат, відносяться команди переходів до підпрограм, безумовних і умовних переходів, завантаження регістрів і пам'яті. Необхідно звернути увагу на спосіб написання адреси або безпосереднього операнда в трибайтовій команді. Другий байт команди містить молодшу половину адреси або безпосереднього операнда, а третій байт - старшу.
Спосіб адресації вказує на те, як за адресним кодом, що міститься в команді, визначити виконувану адресу. В одній команді для визначення адрес операндів і результату можуть застосовуватися різні способи адресації. МП КР580 має сім таких способів адресації.
1.Операнд, який розуміється. В команді не задаються явно ні адреса операнда, ні він сам. Операнд розуміється і фактично задається кодом операції команди. Найчастіше таким операндом є одиниця, що додається чи віднімається від попереднього значення числа. Наприклад :
INR A (Збільшити на 1 вміст акумулятора)
0011 1100
КОП
У цій однобайтновій команді не задається явно операнд 1.
2. Неявна адресація. При цьому способі адресації адреса одного або двох операндів неявно задається в коді операції. Операція може, наприклад, виконуватися тільки з вмістом акумулятора, який адресується кодом команди і спеціально його вказувати не потрібно. У МП КР580 перший операнд завжди знаходиться в акумуляторі, а другий може бути адресований прямо, непрямо або безпосередньо. Наприклад :
DAA (Виконати десяткове доповнення акумулятора)
0010 0111
КОП
Ця однобайтова команда не містить адреси регістра.
3. Безпосередня адресація. При безпосередній адресації операнд є частиною виконуваної команди (рис.3).
PC <КОП> <B2> <B3>
ДАНІ
Рис.3
MOV REG,M ; (REG)((H)(L)).
4.Пряма регістрова адресація. У полі операндів команди задаються адреси регістрів загального призначення (РЗП) A,B,C,D,E,H,L (рис.4).
РЗП
PC КОП
ДАНІ
Рис.4
У МП КР580 використовується трирозрядне поле для вибору одного з семи РЗП. Наприклад :
MOV E,C
01 011 001
КОП КОДИ РЕГІСТРІВ
Переслати операнд з регістра С в регістр Е. Коди регістрів Е-011, С-001.
5. Пряма адресація. У полі операнда міститься повна 16-бітна адреса байта пам'яті (рис.5)
PC КОП <...